//
// C++ Interface: runningappsscanner
//
// Description:
//
//
// Author: Ernesto Barragan <ernestus *at* gmail.com>, (C) 2007
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef RUNNINGAPPSSCANNER_H
#define RUNNINGAPPSSCANNER_H
#include <QString>
#include <QStringList>

/**
Creates and maintains a list of running applications, information that can be used afterwards in a task bar or a process manager.

	@author Ernesto Barragan <ernestus *at* gmail.com>
*/
class RunningAppsScanner
{
public:
    RunningAppsScanner();

    virtual ~RunningAppsScanner();

    void startScan( const QString path ) const ;
    void startScan( const QStringList path ) const ;
    void startScan();

signals:
    void application( QString path ) ;

protected:
    /*
       You can override this method if you don't want to pay
       the cost of emitting a signal, might be good in an embedded
	   system.
    */
    virtual void applicationFound( QString filename ) const = 0 ;

private:
};

#endif
